package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.wallet.CardGrantCheckStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 悦卡发放记录（企业向会员发放悦卡）实体类<br>
 * 对应的表为：walt_card_grant<br>
 * 
 * @author pbuilder generated
 * @date 2019-06-03 15:20:35
 * @company sgy
 * @version 2.0
 */
@TableName("walt_card_grant")
@ApiModel(description = "悦卡发放记录（企业向会员发放悦卡）")
public class CardGrantEntity{

    /** 悦卡发放记录ID */
	@ApiModelProperty("悦卡发放记录ID")
	protected String id;

    /** 悦卡id */
	@ApiModelProperty("悦卡id")
	protected String cardTemplateId;

    /** 悦卡名称 */
	@ApiModelProperty("悦卡名称")
	protected String cardTemplateTitle;

    /** 企业ID */
	@ApiModelProperty("企业ID")
	protected String companyId;

    /** 企业名称 */
	@ApiModelProperty("企业名称")
	protected String companyName;

    /** 发放人数 */
	@ApiModelProperty("发放人数")
	protected Integer totalNum;

    /** 发放总额 */
	@ApiModelProperty("发放总额")
	protected BigDecimal totalAmount;

    /** 备注 */
	@ApiModelProperty("备注")
	protected String remarks;

    /** 创建人 */
	@ApiModelProperty("创建人")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 审核人 */
	@ApiModelProperty("审核人")
	protected String checkBy;

    /** 审核时间 */
	@ApiModelProperty("审核时间")
	protected LocalDateTime checkTime;

    /** [枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED */
	@ApiModelProperty("[枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED")
	protected CardGrantCheckStatus checkStatus;

    /** 审核说明 */
	@ApiModelProperty("审核说明")
	protected String checkRemark;

	/**
	 * 构造一个空悦卡发放记录（企业向会员发放悦卡）实体对象
	 */
	public CardGrantEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个悦卡发放记录（企业向会员发放悦卡）实体对象
	 * 
	 * @param other 其它对象
	 */
	public CardGrantEntity(CardGrantEntity other){
		super();
     	this.id = other.id;
     	this.cardTemplateId = other.cardTemplateId;
     	this.cardTemplateTitle = other.cardTemplateTitle;
     	this.companyId = other.companyId;
     	this.companyName = other.companyName;
     	this.totalNum = other.totalNum;
     	this.totalAmount = other.totalAmount;
     	this.remarks = other.remarks;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.checkBy = other.checkBy;
     	this.checkTime = other.checkTime;
     	this.checkStatus = other.checkStatus;
     	this.checkRemark = other.checkRemark;
	}


	/**
	 * 获取悦卡发放记录ID
	 * 
	 * @return id 悦卡发放记录ID
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置悦卡发放记录ID
	 * 
	 * @param id 悦卡发放记录ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取悦卡id
	 * 
	 * @return cardTemplateId 悦卡id
	 */
	public String getCardTemplateId() {
		return cardTemplateId;
	}
  	
	/**
	 * 设置悦卡id
	 * 
	 * @param cardTemplateId 悦卡id
	 */
	public void setCardTemplateId(String cardTemplateId) {
		this.cardTemplateId = cardTemplateId;
	}

	/**
	 * 获取悦卡名称
	 * 
	 * @return cardTemplateTitle 悦卡名称
	 */
	public String getCardTemplateTitle() {
		return cardTemplateTitle;
	}
  	
	/**
	 * 设置悦卡名称
	 * 
	 * @param cardTemplateTitle 悦卡名称
	 */
	public void setCardTemplateTitle(String cardTemplateTitle) {
		this.cardTemplateTitle = cardTemplateTitle;
	}

	/**
	 * 获取企业ID
	 * 
	 * @return companyId 企业ID
	 */
	public String getCompanyId() {
		return companyId;
	}
  	
	/**
	 * 设置企业ID
	 * 
	 * @param companyId 企业ID
	 */
	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}

	/**
	 * 获取企业名称
	 * 
	 * @return companyName 企业名称
	 */
	public String getCompanyName() {
		return companyName;
	}
  	
	/**
	 * 设置企业名称
	 * 
	 * @param companyName 企业名称
	 */
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	/**
	 * 获取发放人数
	 * 
	 * @return totalNum 发放人数
	 */
	public Integer getTotalNum() {
		return totalNum;
	}
  	
	/**
	 * 设置发放人数
	 * 
	 * @param totalNum 发放人数
	 */
	public void setTotalNum(Integer totalNum) {
		this.totalNum = totalNum;
	}

	/**
	 * 获取发放总额
	 * 
	 * @return totalAmount 发放总额
	 */
	public BigDecimal getTotalAmount() {
		return totalAmount;
	}
  	
	/**
	 * 设置发放总额
	 * 
	 * @param totalAmount 发放总额
	 */
	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	/**
	 * 获取备注
	 * 
	 * @return remarks 备注
	 */
	public String getRemarks() {
		return remarks;
	}
  	
	/**
	 * 设置备注
	 * 
	 * @param remarks 备注
	 */
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	/**
	 * 获取创建人
	 * 
	 * @return createdBy 创建人
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人
	 * 
	 * @param createdBy 创建人
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取审核人
	 * 
	 * @return checkBy 审核人
	 */
	public String getCheckBy() {
		return checkBy;
	}
  	
	/**
	 * 设置审核人
	 * 
	 * @param checkBy 审核人
	 */
	public void setCheckBy(String checkBy) {
		this.checkBy = checkBy;
	}

	/**
	 * 获取审核时间
	 * 
	 * @return checkTime 审核时间
	 */
	public LocalDateTime getCheckTime() {
		return checkTime;
	}
  	
	/**
	 * 设置审核时间
	 * 
	 * @param checkTime 审核时间
	 */
	public void setCheckTime(LocalDateTime checkTime) {
		this.checkTime = checkTime;
	}

	/**
	 * 获取[枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED
	 * 
	 * @return checkStatus [枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED
	 */
	public CardGrantCheckStatus getCheckStatus() {
		return checkStatus;
	}
  	
	/**
	 * 设置[枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED
	 * 
	 * @param checkStatus [枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED
	 */
	public void setCheckStatus(CardGrantCheckStatus checkStatus) {
		this.checkStatus = checkStatus;
	}

	/**
	 * 获取审核说明
	 * 
	 * @return checkRemark 审核说明
	 */
	public String getCheckRemark() {
		return checkRemark;
	}
  	
	/**
	 * 设置审核说明
	 * 
	 * @param checkRemark 审核说明
	 */
	public void setCheckRemark(String checkRemark) {
		this.checkRemark = checkRemark;
	}

    public String toString() {
		return new StringBuilder().append("CardGrantEntity{").
			append("id=").append(id).
			append(",cardTemplateId=").append(cardTemplateId).
			append(",cardTemplateTitle=").append(cardTemplateTitle).
			append(",companyId=").append(companyId).
			append(",companyName=").append(companyName).
			append(",totalNum=").append(totalNum).
			append(",totalAmount=").append(totalAmount).
			append(",remarks=").append(remarks).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",checkBy=").append(checkBy).
			append(",checkTime=").append(checkTime).
			append(",checkStatus=").append(checkStatus).
			append(",checkRemark=").append(checkRemark).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CardGrantEntity copy() {
		return new CardGrantEntity(this);
	}

    /** 悦卡发放记录ID */
	public static final String COL_ID = "id";

    /** 悦卡id */
	public static final String COL_CARD_TEMPLATE_ID = "card_template_id";

    /** 悦卡名称 */
	public static final String COL_CARD_TEMPLATE_TITLE = "card_template_title";

    /** 企业ID */
	public static final String COL_COMPANY_ID = "company_id";

    /** 企业名称 */
	public static final String COL_COMPANY_NAME = "company_name";

    /** 发放人数 */
	public static final String COL_TOTAL_NUM = "total_num";

    /** 发放总额 */
	public static final String COL_TOTAL_AMOUNT = "total_amount";

    /** 备注 */
	public static final String COL_REMARKS = "remarks";

    /** 创建人 */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 审核人 */
	public static final String COL_CHECK_BY = "check_by";

    /** 审核时间 */
	public static final String COL_CHECK_TIME = "check_time";

    /** [枚举]状态：0-未审核-UNCHECKED、1-审核通过-PASSED、2-审核不通过-UNPASSED */
	public static final String COL_CHECK_STATUS = "check_status";

    /** 审核说明 */
	public static final String COL_CHECK_REMARK = "check_remark";
}
